package com.smile.service.config.mqtt.constant;


import java.util.ArrayList;
import java.util.List;

public class TopicConstant {
    private static final String OSD_MESSAGE = "thing/product/{device_sn}/osd";

    private static final String STATE_MESSAGE = "thing/product/{gateway_sn}/state";

    private static final String SERVICE_REPLY_MESSAGE = "thing/product/{gateway_sn}/service_reply";

    private static final String EVENTS_MESSAGE = "thing/product/{gateway_sn}/events";

    private static final String REQUESTS_MESSAGE = "thing/product/{gateway_sn}/requests";

    private static final String REQUESTS_REPLY_MESSAGE = "thing/product/{gateway_sn}/request_reply";

    private static final String STATUS_MESSAGE = "thing/product/{gateway_sn}/status";

    private static final String STATUS_REPLY_MESSAGE = "thing/product/{gateway_sn}/status_REPLY";

    private static final String SET_MESSAGE = "thing/product/{gateway_sn}/property/set";

    private static final String SET_REPLY_MESSAGE = "thing/product/{gateway_sn}/property/set_reply";

    private static final String UP_MESSAGE = "thing/product/{gateway_sn}/drc/up";

    private static final String DOWN_MESSAGE = "thing/product/{gateway_sn}/drc/down";


    public static final List<String> GATEWAY_TOPIC_LIST = new ArrayList<>();

    public static final List<String> DEVICE_TOPIC_LIST = new ArrayList<>();


    public static final void INIT_TOPIC_LIST() {
        DEVICE_TOPIC_LIST.add("thing/product/+/osd");
        GATEWAY_TOPIC_LIST.add("thing/product/+/state");
//        GATEWAY_TOPIC_LIST.add("thing/product/{gateway_sn}/services");
        GATEWAY_TOPIC_LIST.add("thing/product/+/services_reply");
        GATEWAY_TOPIC_LIST.add("thing/product/+/events");
        GATEWAY_TOPIC_LIST.add("thing/product/+/requests");
//        GATEWAY_TOPIC_LIST.add("thing/product/{gateway_sn}/requests_reply");
        GATEWAY_TOPIC_LIST.add("sys/product/+/status");
//        GATEWAY_TOPIC_LIST.add("thing/product/{gateway_sn}/status_reply");
//        GATEWAY_TOPIC_LIST.add("thing/product/{gateway_sn}/property/set");
//        GATEWAY_TOPIC_LIST.add("thing/product/{gateway_sn}/property/set_reply");
        GATEWAY_TOPIC_LIST.add("thing/product/+/drc/up");
        GATEWAY_TOPIC_LIST.add("$SYS/brokers/+/connected");
        GATEWAY_TOPIC_LIST.add("$SYS/brokers/+/disconnected");
//        GATEWAY_TOPIC_LIST.add("thing/product/{gateway_sn}/drc/down");
    }

}
